home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / ftp_bounce.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  95 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. #
  5. # See the Nessus Scripts License for details
  6. #
  7.  
  8. if(description)
  9. {
  10.  script_id(10081);
  11.  script_version ("$Revision: 1.21 $");
  12.  script_cve_id("CVE-1999-0017");
  13.  script_name(english:"FTP bounce check",
  14.           francais:"Test FTP bounce");
  15.  
  16.   script_description(english:"It is possible to force the FTP server
  17. to connect to third parties hosts, by using the PORT command. 
  18. This problem allows intruders to use your network resources to
  19. scan other hosts, making them think the attack comes from your
  20. network, or it can even allow them to go through your firewall.
  21.    
  22. Solution : Upgrade to the latest version of your FTP server, 
  23. or use another FTP server.
  24.  
  25. Risk factor : Medium",
  26.  
  27.   francais:"Il est possible de forcer le serveur FTP α se connecter 
  28. α des machines tierces, en utilisant la commande PORT. Ce problΦme 
  29. permet α des intrus d'utiliser vos ressources rΘseaux pour scanner
  30. d'autres machines, en faisant croire α celles-ci que l'attaque provient 
  31. de chez vous, ou bien mΩme de passer au travers de votre firewall.
  32.   
  33. Solution : Mettez α jour votre serveur FTP, ou utilisez-en un autre.
  34.  
  35. Facteur de risque : Moyen");
  36.   
  37.  
  38.  script_summary(english:"Checks if the remote ftp server can be bounced",
  39.              francais:"DΘtermine si le serveur ftp distant peut se connecter α des machines tierces");
  40.  
  41.  script_category(ACT_GATHER_INFO);
  42.  
  43.  script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison",
  44.            francais:"Ce script est Copyright (C) 1999 Renaud Deraison");
  45.  
  46.  
  47.  script_family(english:"FTP"); 
  48.  script_dependencie("ftp_anonymous.nasl", "find_service.nes");
  49.  script_require_keys("ftp/login");
  50.  script_require_ports("Services/ftp", 21);
  51.  script_exclude_keys("ftp/ncftpd");
  52.  exit(0);
  53. }
  54.  
  55. #
  56. # The script code starts here :
  57. #
  58.  
  59. port = get_kb_item("Services/ftp");
  60. if(!port)port = 21;
  61. if(!get_port_state(port))exit(0);
  62.  
  63.  
  64. login = get_kb_item("ftp/login");
  65. password = get_kb_item("ftp/password");
  66.  
  67.  
  68. if(login)
  69. {
  70.  soc = open_sock_tcp(port);
  71.  if(soc)
  72.  {
  73.  if(ftp_log_in(socket:soc, user:login, pass:password))
  74.  {
  75.   ip = get_host_ip();
  76.   last = ereg_replace(string:ip,
  77.               pattern:"[0-9]*\.[0-9]*\.[0-9]*\.([0-9]*)$",
  78.             replace:"\1");
  79.   last = int(last) + 1;
  80.   ip = ereg_replace(string:ip, pattern:"\.", replace:",");
  81.   ip = ereg_replace( pattern:"([0-9]*,[0-9]*,[0-9]*,)[0-9]*$",
  82.               replace:"\1",
  83.             string:ip);
  84.   ip = string(ip, last);            
  85.   command = string("PORT ", ip, ",42,42\r\n");
  86.   send(socket:soc, data:command);
  87.   code = recv(socket:soc, length:4);
  88.   if(code == "200 ")security_warning(port);
  89.  }
  90.  close(soc);
  91.  }
  92.  
  93.  
  94.